<!--
 * @Author: Xujianchen
 * @Date: 2022-10-17 12:09:15
 * @LastEditors: Xujianchen
 * @LastEditTime: 2023-03-17 10:25:45
 * @Description: 
-->
<template>
	<div class="add-node-btn-box">
		<div class="add-node-btn">
			<el-popover placement="right-start" :width="270" trigger="click" :hide-after="0" :show-after="0">
				<template #reference>
					<el-button type="primary" icon="el-icon-plus" circle></el-button>
				</template>
				<div class="add-node-popover-body">
					<ul>
						<li>
							<el-icon style="color: #ff943e" @click="addType(1)"><el-icon-user-filled /></el-icon>
							<p>审批节点</p>
						</li>
						<li>
							<el-icon style="color: #3296fa" @click="addType(2)"><el-icon-promotion /></el-icon>
							<p>抄送节点</p>
						</li>
						<li>
							<el-icon style="color: #15bc83" @click="addType(4)"><el-icon-share /></el-icon>
							<p>条件分支</p>
						</li>
					</ul>
				</div>
			</el-popover>
		</div>
	</div>
</template>

<script>
export default {
	props: {
		modelValue: { type: Object, default: () => {} }
	},
	data() {
		return {}
	},
	mounted() {},
	methods: {
		addType(type) {
			var node = {}
			if (type === 1) {
				node = {
					nodeName: '审核人',
					type: 1, //节点类型
					setType: 1, //审核人类型
					nodeUserList: [], //审核人成员
					nodeRoleList: [], //审核角色
					examineLevel: 1, //指定主管层级
					directorLevel: 1, //自定义连续主管审批层级
					selectMode: 1, //发起人自选类型
					termAuto: false, //审批期限超时自动审批
					term: 0, //审批期限
					termMode: 1, //审批期限超时后执行类型
					examineMode: 1, //多人审批时审批方式
					directorMode: 0, //连续主管审批方式
					childNode: this.modelValue
				}
			} else if (type === 2) {
				node = {
					nodeName: '抄送人',
					type: 2,
					userSelectFlag: true,
					nodeUserList: [],
					childNode: this.modelValue
				}
			} else if (type === 4) {
				node = {
					nodeName: '条件路由',
					type: 4,
					conditionNodes: [
						{
							nodeName: '条件1',
							type: 3,
							priorityLevel: 1,
							conditionMode: 1,
							conditionList: []
						},
						{
							nodeName: '条件2',
							type: 3,
							priorityLevel: 2,
							conditionMode: 1,
							conditionList: []
						}
					],
					childNode: this.modelValue
				}
			}
			this.$emit('update:modelValue', node)
		}
	}
}
</script>

<style></style>
